In a network attached storage (NAS) environment, a NAS server typically provides users file-based access to a large number of filesystems stored on the NAS server over a network. In some conventional systems, snapshots are periodically taken of each of the filesystems in order to provide data backup and historical reference. In some systems, each snapshot is a mounted secondary filesystem (compared to a non-snapshot primary filesystem), accessible to a user of the associated primary filesystem. Typically, only a small number (e.g., 10) of snapshots per associated primary filesystem are stored on the NAS server at any given time.
In addition, in a conventional system, the NAS server maintains a filesystem database, which stores entries for all primary filesystems and snapshots stored on the NAS server. Whenever a primary filesystem or snapshot is created, deleted, or expanded, the corresponding entry in the filesystem database is modified accordingly.